Constants - स्थिरांक असेंबली लैंग्वेज

Prahlad Godara ------ From DOOSEEP

Constants भी एक प्रकार वेरिएबल है जो मेमोरी या निर्देश लोकेशन या स्थर मान को स्टोर करता है। nasm असेम्ब्ली लैंग्वेज में स्थिरांक को परिभाषित करने के लिए EQU निर्देश का उपयोग किया जाता है।

NASM असेंबली भाषा में स्थिरांक (Constants)

NASM द्वारा प्रदान किए गए कई निर्देश हैं जो स्थिरांक को परिभाषित करते हैं। स्थिरांक को परिभाषित करने के लिए EQU निर्देश, % असाइन निर्देश, % परिभाषित निर्देश आदी.

हम विशेष रूप से तीन निर्देशों पर चर्चा करेंगे -
  1. EQU
  2. %assign
  3. %define

EQU निर्देश

EQU निर्देश का उपयोग स्थिरांक को परिभाषित करने के लिए किया जाता है।

EQU निर्देश का सिंटैक्स

CONSTANT_NAME EQU expression

उदाहरण

TOTAL_STUDENTS equ 50

स्थिर मान का उपयोग

mov  ecx,  TOTAL_STUDENTS 
    cmp  eax,  TOTAL_STUDENTS

EQU स्टेटमेंट का ऑपरेंड एक एक्सप्रेशन हो सकता है - और इस प्रकार भी लिख सकते हो।

LENGTH equ 20
        WIDTH  equ 10
        AREA   equ length * width

उपरोक्त कोड खंड एरिया को 200 के रूप में स्टोर और परिभाषित करेगा।


उदाहरण

निम्न उदाहरण EQU निर्देश के उपयोग को दर्शाता है -


    SYS_EXIT  equ 1
    SYS_WRITE equ 4
    STDIN     equ 0
    STDOUT    equ 1
    section	 .text
       global _start    ;must be declared for using gcc
        
    _start:             ;tell linker entry point
       mov eax, SYS_WRITE         
       mov ebx, STDOUT         
       mov ecx, msg1         
       mov edx, len1 
       int 0x80                
        
       mov eax, SYS_WRITE         
       mov ebx, STDOUT         
       mov ecx, msg2         
       mov edx, len2 
       int 0x80 
        
       mov eax, SYS_WRITE         
       mov ebx, STDOUT         
       mov ecx, msg3         
       mov edx, len3 
       int 0x80
       
       mov eax,SYS_EXIT    ;system call number (sys_exit)
       int 0x80            ;call kernel
    
    section	 .data
    msg1 db	'Hello, programmers!',0xA,0xD 	
    len1 equ $ - msg1			
    
    msg2 db 'Welcome to the world of,', 0xA,0xD 
    len2 equ $ - msg2 
    
    msg3 db 'NASM assembly programming! '
    len3 equ $- msg3

उपरोक्त कोड परिणाम

 Hello, programmers!
    Welcome to the world of,
    NASM assembly programming!

% असाइन करने का निर्देश

% असाइन निर्देश का उपयोग EQU निर्देश जैसे संख्यात्मक स्थिरांक को परिभाषित करने के लिए किया जा सकता है। यह निर्देश पुनर्वितरण की अनुमति देता है। उदाहरण के लिए, आप स्थिर टोटल को − के रूप में परिभाषित कर सकते हैं


सिंटैक्स

%assign TOTAL 10

बाद में कोड में, आप इसे - के रूप में फिर से परिभाषित कर सकते हैं

%assign TOTAL 30

यह निर्देश केस-संवेदी है।


defined - % परिभाषित निर्देश

% परिभाषित निर्देश संख्यात्मक और स्ट्रिंग स्थिरांक दोनों को परिभाषित करने की अनुमति देता है। उदाहरण के लिए, आप निरंतर PTR को - के रूप में परिभाषित कर सकते हैं


उदाहरण

 %define PTR [EBP+4]

उपरोक्त कोड PTR को [EBP+4] से बदल देता है।

यह निर्देश भी पुनर्वितरण की अनुमति देता है और यह केस-संवेदी है।


Read in- English
Tags- hindi education, Constants - Assembly Language , assembly language, type of Assembly Program Variable in hindi, example program in assembly language
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें